home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************\
- ** **
- ** The Archives Manager 1.5 **
- ** **
- ** (c) 1995 Martin Mares, MJSoft System Software **
- ** **
- \******************************************************************************/
-
-
- Preface:
- --------
-
- AMan and its documentation is Copyright (c) Martin Mares, MJSoft System
- Software, Prague, Czech Republic.
-
- This archive can be freely redistributed as long as all of its files are
- included in their original form without any additions, deletions or
- modifications (excluding addition of other README-style files and icons)
- and no more than a nominal fee is charged for its distribution. All
- copyright notices in the programs and accompanying documentation files must
- remain intact. It's especially forbidden to add various '.displayme' files
- and BBS advertisements. This style of distribution is generally known as
- FREEWARE.
-
- Special permission is given to Fred Fish to distribute this program on
- his "Fish Disks".
-
- This software is provided "AS IS" without warranty of any kind, either
- expressed or implied. The author is not responsible for any damage caused
- by it.
-
-
- What's AMan?
- ------------
-
- AMan is a small utility designed for people having many disks filled
- with archived files and trying to know where is which file located. It
- manages a list of files (called Archive Database), which contains the
- following fields for each archive: Name, DiskName (displayed maximally 6
- characters -> try to name your disks in style "A001" etc.), Length and
- Comment (usually containing the filenote of the archive).
-
- AMan is able to sort the files you want to extract by name of disk they're
- stored on and do many other interesting things. The most important one is
- probably the ADD command, which tries to tell you the best way to store
- new files to existing archive disks.
-
- These were the good news, but ... AMan is controlled completely by CLI-like
- commands (I plan to implement some GUI, but I have no time to do it \dots).
-
-
- Command line arguments:
- -----------------------
-
- FILE/K - define name of default database (this database is loaded automatically
- before executing the startup script (AMan.startup), default is Archive)
- HOST/S - start AREXX host
- PORT/K - define name of AREXX port used by the host (default is 'AMan')
-
-
- Data file format:
- -----------------
-
- Each file is described by one line:
-
- <name>|<diskname>|<size>|<datestamp>|<comment>
-
- Last few lines contain free space informations:
-
- :<diskname>|<freebytes> for FFS disks
- ::<diskname>|<freebytes> for OFS disks
-
-
- Commands:
- ---------
-
- Each command may be followed by standard AmigaDOS-style standard output
- redirection (>file) placed before its arguments. >#n redirects to window
- of given number.
-
- ? or HELP - display brief list of commands
-
- QUIT - exit without saving the database. If the database has been changed,
- you will be asked if you really want to quit.
-
- EXIT - exit. Save the database if it's been changed.
-
- SAVE [[AS] <filename>] - save the database. The file name will be used as new
- default.
-
- LOAD [[FROM] <filename>] - (re)load the database. The file name will be used as
- new default.
-
- MERGE [FROM] <filename> - join specified database with current one.
-
- STATUS [FULL] - display number of records, number of disks and number of changes
- in the database. STATUS FULL displays some internal information used for
- debugging of memory allocation routines.
-
- ENTER <name> <diskname> <comment> <size> [<date>] - manual addition of record.
- If the date is not specified, current one will be used.
-
- LIST [<filter>] [FULL] - list all files matching the filter expression (see
- below). If no filter is given, all files will be displayed. The asterisk
- ('*') character on the left side of the listing says that the record is
- selected. The FULL switch forces LIST to display all items in their full form
- instead of shortening them when not enough room on the line is available.
-
- STAT [<filter>] - display total size of selected records.
-
- SELECT <filter> - select all files matching the filter expression.
-
- DESELECT <filter> - deselect all files matching the filter expression.
-
- INVERT <filter> - invert selection of all files matching the filter expression.
-
- RESELECT <filter> - select all files matching the filter expression. All other
- files will be deselected.
-
- DELETE <filter> [AUTO] - delete all files matching the filter expression. You
- will be asked to confirm this operation. The AUTO option says that you want
- to delete not only the records in the database, but also the real files.
-
- SCAN <drive> [TODAY] - scan files in specified directory/drive and add them
- to the database. The TODAY switch forces the date to be rewritten by the
- current one.
-
- EXTRACT <filter> [TO <dir>] - list all files matching the filter expression
- sorted by disks they are stored on. This function makes extracting of
- large amount of files significantly simpler.
- If you specify a destination directory using the TO parameter, all files
- are automatically copied into it. In this case, the date/time of file
- creation is set to current one. If the directory doesn't exist, it is
- created.
-
- FIND <pattern> [SEL] - list all files containing specified pattern as a
- part of their file name or comment. Option SEL allows marking of all
- matching files as selected.
-
- DISKS [CLEANUP] [STAT] [NOFULL] - list disks (the output contains disk name,
- free space and number of files on the disk).
- CLEANUP = delete all disks with 0 files on them.
- STAT = display only statistics, don't show each entry
- NOFULL = exclude full disks
-
- CHECK - check consistence of archive. This function displays warnings about
- duplicated file names and empty disks. It's recommended to use this function
- after all large manipulations with the archive (e.g. adding of larger amount
- of files).
-
- ADD <srcdir> [TOUCH] [COPY] - probably the most powerful function of this
- program. It scans all files in specified directory and tries to place them
- on the archive disks in optimal way. The list of pairs [disk,file] is
- sorted by disk, therefore you can add the files easily. The INFO option is
- used mostly for debugging, but you can use it to get more information about
- the process.
- The TOUCH option forces setting of date/time of all added files to current
- date/time.
- The COPY option causes automatic copying of all added files to backup disks.
- Date/time of creation of the file is set to current date/time.
- The DirCache filesystem (V39+) is not supported, because it usually
- isn't used on backup disks.
- Sets selection flag of all rescanned files.
-
- REPORT [<filter>] - create a human-readable dump of archive contents. It
- contains only the file names, sizes and comments. Used mostly with output
- redirection.
-
- SCRIPT <name> - execute script (AMan.startup is executed during AMan startup)
-
- ECHO <string> - display a string
-
- ALIAS <name> <def> - define an alias, ! means "insert the arguments here"
-
- ALIAS <name> - remove alias
-
- ; <anything> - comment
-
- OPENW <nr> [<filename>] - open window
-
- CLOSEW ( <nr> | ALL ) - close window
-
- HOST [<portname>] [SHOW] - start REXX Host mode (using given port name
- or 'AMan' if no name is specified). The SHOW options causes displaying
- of all commands being executed and their error messages.
-
- GENDISK <basename> <numdisks> [OFS] [82TRK] - add new (fictive) disks
- to the database. Default is standard FFS disk - may be overriden to OFS
- or to the 82-track format by appropriate switches.
-
- ! <shell command> - execute a shell command. AMan-style redirection can be
- placed between "!" and the command. CTRL-C doesn't work. (in this version,
- this feature is implemented by calling dos/Execute(), which has several
- disadvantages => it should be remade in some future version...)
- If you want to call shell commands from ALIASes, you can use the EXECUTE
- command, which is a synonym for "!".
-
- Filter expressions:
- -------------------
-
- ALL/S - do for all files
- SEL/S - do for selected files
- NAME - do for files which name matches given pattern. Default=#?
- DISK - do for files which disk name matches given pattern. Default=#?
- COMMENT - do for files which comment matches given pattern. Default=#?
- LESS/K - do for files which size is less than given number
- GREATER/K - do for files which size is greater than given number
- BEFORE/K - do for files which date is less than given one
- AFTER/K - do for files which date is greater than given one
- DATE/K - do for files which date is equal to given one
- FROM/K - do for all files from given file list. The file list is a file
- containing pure file names on separate lines or output from the
- REPORT command.
-
- ALL/SEL, NAME, DISK, COMMENT, LESS/GREATER, BEFORE/AFTER/DATE and FROM
- can be freely combined.
-
- Standard startup script:
- ------------------------
-
- Standard distribution package contains also an example startup file
- (AMan.startup), which is executed by the program during its startup and
- contains some useful aliases:
-
- s scan diskette in DF0:
- end execute the End.AMan script (generates a report to ArcDir and exits)
- w save current database
- x exit
- xx quit
- c check
- a add work:arch (usually called to check if the files fit on the disks
- before using aa)
- aa add work:arch copy
- f use find to search for given pattern
- ff same as f, but selects found records (usually used after successful f)
- e extract selected records to work:extr
-
- Things to be implemented:
- -------------------------
-
- - some new commands callable from REXX scripts
- - faster reading/saving of database files
- - menu selection / menu mode ?
- - DOpus interface
-
- History:
- --------
-
- 140493 FIND: SEL option
- 140493 LOAD: all loaded records are automatically deselected
- 140493 ADD: TOUCH option
- 150493 Repaired bug in LOAD causing 81000009 alerts.
- 230493 DISKS displays total size
- 230493 Empty date is replaced by current one (-> LIST AFTER "" etc.)
- 230493 STAT added
- 110593 Multiple OPENW doesn't leave lost windows
- 060793 ADD: repaired incorrect calculation of block size; INFO removed
- 060793 EXTRACT and ADD sped up
- 100793 DISKS: added STAT and NOFULL functions
- 100793 SAVE: AS/K changed to AS
- 100793 Added AREXX host
- 100793 LOAD now resets change counter
- 100793 -- released as version 1.1ß --
- 200793 Added GENDISK command
- 200793 Fixed another bug in ADD
- 200793 ADD: now reports required number of additional disks
- 200793 -- released as version 1.2ß --
- 121293 ! <command> executes a shell command
- 121293 filter expression FROM/K accepts files generated by REPORT
- 121293 EXTRACT does secondary sorting by file names
- 121293 EXTRACT and ADD are able to copy the files automatically
- 121293 Warning displayed when scanning disk with unknown filesystem
- 121293 -- released as version 1.3 --
- 110194 DELETE is able to perform automatic deletion of files (the AUTO switch)
- 110194 GENDISK: option 82TRK added
- 110194 repaired extract to current directory
- 110194 ADD: reserved 1 block for FileSystem bug (there's a bug in some ROM File-
- systems causing disk to be unfillable - there must be at lease 1 block
- free)
- 110194 -- released as version 1.4 --
- 160194 Maximal length of comment increased to 64
- 160194 Added a FULL option of LIST command that allows all fields to be displayed
- in full, non-shortened form.
- 160194 -- released as version 1.5 --
-
- Last words:
- -----------
-
- - send your bug reports and ideas to mjsoft@k332.feld.cvut.cz
-